package csc.fresher.service;

import java.sql.Timestamp;
import java.util.List;

import csc.fresher.entity.Currency;
import csc.fresher.entity.CustomerAccount;
import csc.fresher.entity.InterestRate;
import csc.fresher.entity.PeriodType;
import csc.fresher.entity.SavingTransactionType;

public interface InterestRateService {
	public List<InterestRate> getAllInterestRate();

	public InterestRate getInterestRateByID(int interestRateID);

	public List<Currency> getAllCurrency();

	public List<PeriodType> getAllPeriodTypes();

	public InterestRate getInterestRate(int currencyID, int periodTypeID);

	public double calculateAfterBalance(CustomerAccount customerAccount,
			double funds, double interestRate, int periodTypeID,
			SavingTransactionType savingTransactionType);

	public int getNumberOfDays(int periodTypeID);

	public Timestamp getExpiryDate(int periodTypeID);

	public List<InterestRate> getAllInterestRateByCurrencyID(int currencyID);

	public InterestRate getNewestInterestRateByCurrencyPeriod(int currencyID,
			int periodTypeID);

	double getInterestAmount(CustomerAccount customerAccount,
			SavingTransactionType savingTransactionType);

}
